In a memory element, such as a NAND, a cell is likely to be affected by adjacent cells with the miniaturization of the memory element. Therefore, in some case, data is erroneously read from a cell due to the influence of adjacent cells. In particular, when the memory element performs multi-value recording, in many cases, data is erroneously read from the cell.